package com.ryskoo.permission.manager.service;

import com.ryskoo.framework.core.service.IBasicService;
import com.ryskoo.permission.manager.domain.ManagerPO;

/**
 * 权限服务-管理员管理服务接口
 *
 * @author Shawn
 */
public interface IManagerService extends IBasicService<ManagerPO> {

	/**
	 * 根据用户名查询管理员信息
	 *
	 * @param userName 管理员登录账户
	 * @return 管理员信息 {@link ManagerPO}
	 */
	ManagerPO getManagerByLoginName(String userName);

	/**
	 * 新增管理员信息以及管理员和角色的关联关系
	 *
	 * @param manager 管理员信息 {@link ManagerPO}
	 */
	void createManagerAndRole(ManagerPO manager);

	/**
	 * 编辑管理员信息以及管理员和角色的关联关系
	 *
	 * @param manager 管理员信息 {@link ManagerPO}
	 */
	void updateManagerAndRole(ManagerPO manager);
	
	
	/**
	 * 修改管理员密码
	 *
	 */
	void updatePassword(String managerId, String oldPwd, String pwd, String confirmPwd)throws Exception;

	/**
	 * 重置管理员登录密码
	 *
     * @param id 管理员id
     * @param password 登录密码
     */
    void resetPassword(String id, String password);
}
